The present invention relates to the field of processing data; more particularly, the present invention relates to creating a data set with pending results.
To be successful in today""s economy, companies must have fast access to various sources of information. It is critical for an enterprise to be able to extract, transform, move, stage, and present key information across all points of the enterprise. This may require consolidating different types of information from multiple back end systems and analyzing that data over a networked environment, such as the Internet. Typically, providing information over the World Wide Web (herein after xe2x80x9cthe webxe2x80x9d, is a costly and time consuming effort, and the results are rarely optimized for the Internet.
Existing tools do not allow much flexibility in transforming various kinds of information into customized result sets (e.g., charts, spreadsheets, reports, etc.). For example, a report created for one user is typically used by this specific user only. Other user requests for a similar report are processed anew. In addition, formation of the report, including grouping and pagination of report records, is typically performed on a client machine, thereby increasing the amount of data being sent to the client machine and delaying the delivery of the report to the user.
Furthermore, when a page of a result set contains a value that cannot be computed until subsequent pages are processed, this page is not built until the value is computed. For example, if a first report page contains a grand total which cannot be computed until the entire report is built, the user does not see the first report page until all the report pages are created. It is not uncommon for an enterprise report to include more than 1,000 pages. For a report of such length, the waiting time may be significant and may seriously affect the speed of delivering the report to the user.
Therefore, what is needed is a data processing tool which enables rapid creation and distribution of customized result sets to the users.
A method and apparatus for creating a data set with pending results are described. In one embodiment, the method includes receiving a user request to process data and processing the user request to begin creating a final result set with at least one field being identified as a pending result field. A pending result field is a field whose final value cannot be calculated until a certain stage in the creation of the final result set is reached. The processing of the user data includes creating a portion of an initial result set containing the pending result field before a final value for the pending result field is calculated, and transforming the portion of the initial result set to create a portion of the final result set before a final value for the pending result field is calculated. The method further includes continuing processing the user request while the final value remains undetermined, and updating the final result set with the final value of the pending result field once the final value is calculated. In one embodiment, the pending result field contains an intermediate value until the final value is calculated.